home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Day Cry
/
Day Cry CD.bin
/
oh_towns
/
ugoku
/
src.lzh
/
MOVPLAY
/
MOVXSUB.C
< prev
next >
Wrap
Text File
|
1994-09-08
|
39KB
|
1,641 lines
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <winb.h>
#include <te.h>
#include <fntb.h>
#include <gui.h>
#include <file_dlg.h>
#include <vtbios.h>
#include <egb.h>
#include <mos.h>
#include <snd.h>
#include "ugoku.h"
#define V02TYPE 10 /* V02è╓îWé╠Åêù¥ */
#define MOVTYPE 11 /* MOVè╓îWé╠Åêù¥ */
/* abou */
int alertId = -1 ;
int messageId[3] = -1 ;
int dspIconId = -1 ;
int aboutOKBtnId = -1 ;
/* dsk */
int baseDialogId = -1 ;
int menubarId = -1 ;
int menuId = -1 ;
int mItemId[3] = -1 ;
int SDKmenuId = -1 ;
int SDKmItemId[3] = -1 ;
int fileMenuId = -1 ;
int fileMItemId[2] = -1 ;
int setMenuId = -1 ;
int setMItemId[2] = -1 ;
int quitIconId = -1 ;
int namebarId = -1 ;
int nameMesId = -1 ;
int wakuDialogId = -1 ;
/* err */
int errorId = -1 ;
int errorOKBtnId = -1 ;
int errorIconId = -1 ;
int errormessage[2] = -1 ;
/* set */
int setDialogId = -1 ;
int setMesId[17] = -1 ;
int setOKBtnId = -1 ;
int setCanBtnId = -1 ;
int setSubDialogId = -1 ;
int waitNumId = -1 ;
int setBtnId[9] = -1 ;
static int playType = -1 ; /* mov or v02 */
static int screenMode = 10 ; /* page0é╠âXâNâèü[âôâéü[âh */
static int setFlag ; /* ò\ĪÉ▌ÆΦé╠âtâëâO */
static int wait ; /* âEâFâCâgÉ▌ÆΦùpâÅü[âN */
static int scnMode ; /* ëµû╩âéü[âhÉ▌ÆΦùpâÅü[âN */
static int zoom ; /* ö{ùªÉ▌ÆΦùpâÅü[âN */
static int playMode ; /* ì─É╢âéü[âhÉ▌ÆΦùpâÅü[âN */
static int loop ; /* âïü[âvì─É╢é╠âtâëâO */
static char path[80] ;
static char *namePoint ;
extern char *guiEgbPtr ; /* EGB é╠âÅü[âNâAâhâîâX */
/*
èεû{âZâbâg
*/
/* É▌ÆΦé╖éΘé⌐üAĵéΦÅ┴é╖é⌐üH */
/* initDataIMVSET:setOKBtnId:MJ_DBUTTONL40é╠î─é╤Åoé╡è╓Éö */
/* initDataIMVSET:setCanBtnId:MJ_DBUTTONL40é╠î─é╤Åoé╡è╓Éö */
int setOKchk(kobj, messId, argc, pev, trigger)
int kobj ;
int messId ;
int argc ;
EVENT *pev ;
int trigger ;
{
if( kobj == setOKBtnId )
setFlag = TRUE ;
else
setFlag = FALSE ;
MMI_SetHaltFlag( TRUE ) ;
return NOERR ;
}
/* âEâFâCâgÆlé≡É▌ÆΦ */
/* initDataIMVSET:waitNumId:MJ_NUMBOXL40é╠î─é╤Åoé╡è╓Éö */
int waitSet(kobj, messId, argc, pev, trigger)
int kobj ;
int messId ;
int argc ;
EVENT *pev ;
int trigger ;
{
int var, min, max, delta, ptColumn ;
MMI_SendMessage( kobj, MM_GETNUMBOX, 5,
&var, &min, &max, &delta, &ptColumn ) ;
wait = var ;
return NOERR ;
}
/* ëµû╩âéü[âhé≡É▌ÆΦüiâëâWâIâ{â^âôüj */
/* initDataIMVSET:setBtnId[0]:MJ_TICONL40é╠î─é╤Åoé╡è╓Éö */
/* initDataIMVSET:setBtnId[1]:MJ_TICONL40é╠î─é╤Åoé╡è╓Éö */
int screenSet(kobj, messId, argc, pev, trigger)
int kobj ;
int messId ;
int argc ;
EVENT *pev ;
int trigger ;
{
if( kobj == setBtnId[0] )
{
MTL_setFlagObj( setBtnId[0], MS_UNSELECT ) ;
MTL_resetFlagObj( setBtnId[1], (~(MS_UNSELECT | MS_TOGGLE)) ) ;
MMI_SendMessage( setBtnId[1], MM_SHOW, 0 ) ;
scnMode = 0 ; /* ânâCâXâLâââô */
}
else
{
MTL_resetFlagObj( setBtnId[0], (~(MS_UNSELECT | MS_TOGGLE)) ) ;
MTL_setFlagObj( setBtnId[1], MS_UNSELECT ) ;
MMI_SendMessage( setBtnId[0], MM_SHOW, 0 ) ;
scnMode = 1 ; /* âìü[âXâLâââô */
}
return NOERR ;
}
/* ì─É╢ù╠êµé≡É▌ÆΦüiâëâWâIâ{â^âôüj */
/* initDataIMVSET:setBtnId[2]:MJ_TICONL40é╠î─é╤Åoé╡è╓Éö */
/* initDataIMVSET:setBtnId[3]:MJ_TICONL40é╠î─é╤Åoé╡è╓Éö */
int playSet(kobj, messId, argc, pev, trigger)
int kobj ;
int messId ;
int argc ;
EVENT *pev ;
int trigger ;
{
if( kobj == setBtnId[2] )
{
MTL_setFlagObj( setBtnId[2], MS_UNSELECT ) ;
MTL_resetFlagObj( setBtnId[3], (~(MS_UNSELECT | MS_TOGGLE)) ) ;
MMI_SendMessage( setBtnId[3], MM_SHOW, 0 ) ;
playMode = 0 ; /* âüâéâèì─É╢ */
}
else
{
MTL_resetFlagObj( setBtnId[2], (~(MS_UNSELECT | MS_TOGGLE)) ) ;
MTL_setFlagObj( setBtnId[3], MS_UNSELECT ) ;
MMI_SendMessage( setBtnId[2], MM_SHOW, 0 ) ;
playMode = 1 ; /* âfâBâXâNì─É╢ */
}
return NOERR ;
}
/* ègæσùªé≡É▌ÆΦüiâëâWâIâ{â^âôüj */
/* initDataIMVSET:setBtnId[4]:MJ_TICONL40é╠î─é╤Åoé╡è╓Éö */
/* initDataIMVSET:setBtnId[5]:MJ_TICONL40é╠î─é╤Åoé╡è╓Éö */
/* initDataIMVSET:setBtnId[6]:MJ_TICONL40é╠î─é╤Åoé╡è╓Éö */
/* initDataIMVSET:setBtnId[7]:MJ_TICONL40é╠î─é╤Åoé╡è╓Éö */
int zoomSet(kobj, messId, argc, pev, trigger)
int kobj ;
int messId ;
int argc ;
EVENT *pev ;
int trigger ;
{
if( kobj == setBtnId[4] )
{
MTL_setFlagObj( setBtnId[4], MS_UNSELECT ) ;
MTL_resetFlagObj( setBtnId[zoom+4], (~(MS_UNSELECT | MS_TOGGLE)) ) ;
MMI_SendMessage( setBtnId[zoom+4], MM_SHOW, 0 ) ;
zoom = 0 ; /* 0.5ö{ */
}
else
if( kobj == setBtnId[5] )
{
MTL_setFlagObj( setBtnId[5], MS_UNSELECT ) ;
MTL_resetFlagObj( setBtnId[zoom+4], (~(MS_UNSELECT | MS_TOGGLE)) ) ;
MMI_SendMessage( setBtnId[zoom+4], MM_SHOW, 0 ) ;
zoom = 1 ; /* éPö{ */
}
else
if( kobj == setBtnId[6] )
{
MTL_setFlagObj( setBtnId[6], MS_UNSELECT ) ;
MTL_resetFlagObj( setBtnId[zoom+4], (~(MS_UNSELECT | MS_TOGGLE)) ) ;
MMI_SendMessage( setBtnId[zoom+4], MM_SHOW, 0 ) ;
zoom = 2 ; /* 1.5ö{ */
}
else
{
MTL_setFlagObj( setBtnId[7], MS_UNSELECT ) ;
MTL_resetFlagObj( setBtnId[zoom+4], (~(MS_UNSELECT | MS_TOGGLE)) ) ;
MMI_SendMessage( setBtnId[zoom+4], MM_SHOW, 0 ) ;
zoom = 3 ; /* éQö{ */
}
return NOERR ;
}
/* âtâ@âCâïæIæ≡ */
/* MOV */
static int movframe ; /* èeÄφô«ëµâfü[â^Åεò± */
static int movx0 ;
static int movy0 ;
static int movx1 ;
static int movy1 ;
static int movwait ;
static int movWait = 0 ; /* âEâFâCâgÉ▌ÆΦùpâÅü[âN */
static int movScnMode = 0 ; /* ëµû╩âéü[âhÉ▌ÆΦùpâÅü[âN */
static int movZoom = 1 ; /* ö{ùªÉ▌ÆΦùpâÅü[âN */
static int movPlayMode = 0 ; /* ì─É╢âéü[âhÉ▌ÆΦùpâÅü[âN */
static int movLoop = 1 ; /* âïü[âvì─É╢é╠âtâëâO */
/* V02 */
static int v02frame ; /* èeÄφô«ëµâfü[â^Åεò± */
static int v02x ;
static int v02y ;
static int v02wait ;
static int v02Wait = 0 ; /* âEâFâCâgÉ▌ÆΦùpâÅü[âN */
static int v02ScnMode = 0 ; /* ëµû╩âéü[âhÉ▌ÆΦùpâÅü[âN */
static int v02Zoom = 1 ; /* ö{ùªÉ▌ÆΦùpâÅü[âN */
static int v02PlayMode = 1 ; /* ì─É╢âéü[âhÉ▌ÆΦùpâÅü[âN */
static int v02Loop = 0 ; /* âïü[âvì─É╢é╠âtâëâO */
int selectFunc0(kobj, messId, argc, pev, trigger)
int kobj ;
int messId ;
int argc ;
EVENT *pev ;
int trigger ;
{
char *ExtStr[] = { "*.MOV", "*.V02", NULL } ;
unsigned int MSlctCnt ;
int Atr, ret ;
/* âüâjâàü[é╞â{â^âôé≡Ägéªé╚éóéµéñé╔é╖éΘ */
MTL_setAtrObj( menubarId, MS_DSPONLYL40 ) ;
MTL_setAtrObj( SDKmItemId[2], MS_INACTIVEL40 ) ;
ret = FDG_DspFileDlg(MMI_GetBaseObj(), FDG_FILEONLY,
NULL, ExtStr, &MSlctCnt) ;
if( ret && MSlctCnt > 0 ) /* É│é╡é¡âtâ@âCâïû╝é≡Ä√ô╛é╡é╜é⌐üH */
{
FDG_GetPathName( path, &Atr, 0 ) ;
playType = -1 ;
if( get_file_kakucho( path ) == DWORD( ".V02 " ) )
{
p_waku_del() ; /* ÿgé≡ò┬é▀éΘ */
/* Åεò±é≡ô╟é±é┼ì┼Åëé╠âtâîü[âÇé≡ò\Ī(1993 9é╔ÉVé╡é¡âëâCâuâëâèé╔Æ╟ë┴é╡é╜ï@ö\) */
/* */
/* é▒é▒é┼é═,pathé╔Åæé⌐éΩé╜v02âtâ@âCâïé╠èeÄφé╠Åεò±é≡ô╟é▌ĵé┴é─,é╗é╠ */
/* ì┼Åëé╠âtâîü[âÇé≡vramé╠âyü[âWéOé╔ò\Īé│é╣é─éóéΘí guiâëâCâuâëâèê╚èO */
/* é┼Ägùpé╖éΘÅΩìçé═,ì┼îπé╠2é┬é╠ê°Éöé≡malloc,freeé╞é╖éΩé╬éµéóí */
ret
= v02_head_read_and_dsp( path,
&v02frame, &v02x, &v02y, &v02wait, 0, TL_malloc, TL_free );
if( screenMode != 5 )
{
screenMode = 5 ;
EGB_displayPage(guiEgbPtr,0,0);
EGB_resolution(guiEgbPtr,0,5); /* âéü[âh5 */
EGB_resolution(guiEgbPtr,1,3); /* âéü[âh3 */
setPalette( guiEgbPtr ) ;
EGB_displayPage(guiEgbPtr,1,3);
}
if( ret == NOERR )
{
p_v02_graph_init( v02Zoom+1, v02x, v02y ) ;
/* ö{ùªé╔éáéφé╣é─ëµû╩É▌ÆΦ */
MG_mosDisp( 0 ) ;
p_waku_clear1( v02x, v02y, v02Zoom+1 ) ;
EGB_displayPage(guiEgbPtr,1,3);
MG_mosDisp( 1 ) ;
playType = V02TYPE ;
}
else
{
playType = -1 ;
}
namePointSet() ; /* display file name */
MMI_SendMessage( namebarId, MM_SHOW, 0 ) ;
}
if( get_file_kakucho( path ) == DWORD( ".MOV " ) )
{
p_waku_del() ; /* ÿgé≡ò┬é▀éΘ */
/* Åεò±é≡ô╟é±é┼ì┼Åëé╠âtâîü[âÇé≡ò\Ī(1993 9é╔ÉVé╡é¡âëâCâuâëâèé╔Æ╟ë┴é╡é╜ï@ö\) */
/*